/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.*;
import java.awt.Color;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 *
 * @author sergi
 */
public class VistaAyuda extends JPanel {
    private JDialog dv;
    private JTextArea ta;
    private SpringLayout layout;
    private JScrollPane jspTa;


    public VistaAyuda() {
        try {
            inicializar();
        } catch (FileNotFoundException ex) {
            Logger.getLogger(VistaAyuda.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(VistaAyuda.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    public void subirScrollAyuda() {
        jspTa.getVerticalScrollBar().setValue(jspTa.getVerticalScrollBar().getMinimum());
    }

    private void inicializar() throws FileNotFoundException, IOException {
        dv = new JDialog();
        ta = new JTextArea();
        layout = new SpringLayout();
        jspTa = new JScrollPane(ta);
        ta.setEditable(false);
        ta.setSize(100,100);
        Color c = this.getBackground();
        ta.setBackground(c);
        ta.setText("Conjunto de pares:\n\n-Añadir un nuevo par: Escribir la palabra incorrecta y la \npalabra incorrecta en los cuadros de texto y hacer click en \n'Nuevo par'.\n-Modificar par: Seleccionar el par que se desea modificar \nde la tabla. A continuación hacer las modificaciones \ndeseadas en los cuadros de texto y hacer click en \n'Modificar Par'.\n-Eliminar Par: Seleccionar el par que se desea eliminar \nde la tabla y hacer click en 'Eliminar par'.\n-Buscar Par: Escribir en los cuadros de texto la palabra \nincorrecta y la palabra correcta que forman el par que se \ndesea buscar. A continuación hacer click en 'Buscar Par'.\n\nDiccionario:\n\n-Añadir Palabra: Escribir en el cuadro de texto la palabra \nque se desea añadir y hacer click en 'Añadir Palabra'.\n-Modificar Palabra: Seleccionar la palabra que se quiere \nmodificar de la tabla. A continuación hacer las \nmodificaciones deseadas en el cuadro de texto y hacer \nclick en 'Modificar Palabra'.\n-Quitar Palabra: Seleccionar la palabra que se desea \neliminar de la tabla y hacer click en 'Quitar palabra'.\n-Buscar Palabra: Escribir en el cuadro de texto la palabra \nque se desea buscar y hacer click en 'Buscar Palabra'.\n\nReglas:\n\n-Buscar: Escribir en los cuadros de texto la alpha y la beta \nde la regla que se quiere buscar. Si se desea, se puede \nhacer una búsqueda con patrón, escribiendo un '*' al final \nde la alpha y/o de la beta.\n\nCorregir:\n\nPara hacer la correción del texto, seleccionar el submenú \n'Corregir'->'Empezar Correción' del menú del editor. \nA continuación, para cada palabra mal escrita se podrán \ngenerar las 'k' candidatas a substituir dicha palabra \nhaciendo click en 'Mostrar k posibles'. Para aceptar una \ncorreción, seleccionar de la tabla la palabra deseada \ny hacer click en 'Cambiar palabra', o bién en \n'Cambiar todas' si se desea corregir todas las apariciones \nde la palabra incorrecta. Para corregir la siguiente \npalabra incorrecta hacer click en 'Siguiente palabra'.");
        this.setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.GRAY), "Ayuda"));
        inicializarLayout();
        montar();
    }

    private void inicializarLayout() {
        this.setLayout(layout);
        layout.putConstraint(SpringLayout.EAST, jspTa, -20, SpringLayout.EAST, this);
        layout.putConstraint(SpringLayout.WEST, jspTa, 20, SpringLayout.WEST, this);
        layout.putConstraint(SpringLayout.NORTH, jspTa, 20, SpringLayout.NORTH, this);
        layout.putConstraint(SpringLayout.SOUTH, jspTa, -20, SpringLayout.SOUTH, this);
    }

    private void montar() {
        this.add(jspTa);
    }
}
